[ofw] PATCH[3/6] Windows port of libibmad - fields.c

Davis, Arlin R arlin.r.davis at intel.com
Thu Dec 18 15:38:14 PST 2008


Patch 3/6 - fields.c

Signed-off by: Arlin Davis <ardavis at ichips.intel.com>

diff -aur libibmad-1.2.2/src/fields.c libibmad/src/fields.c
--- libibmad-1.2.2/src/fields.c 2008-08-31 07:15:05.000000000 -0700
+++ libibmad/src/fields.c       2008-12-17 17:02:40.968160464 -0800
@@ -37,11 +37,16 @@

 #include <stdio.h>
 #include <stdlib.h>
+
+#if defined(_WIN32) || defined(_WIN64)
+#include <windows.h>
+#include <winsock2.h>
+#else
 #include <unistd.h>
 #include <string.h>
+#endif

 #include <mad.h>
-#include <infiniband/common.h>

 /*
  * BITSOFFS and BE_OFFS are required due the fact that the bit offsets are inconsistently
@@ -55,10 +60,10 @@
 #define BE_TO_BITSOFFS(o, w)   (((o) & ~31) | ((32 - ((o) & 31) - (w))))

 ib_field_t ib_mad_f [] = {
-       [0]     {0, 0},         /* IB_NO_FIELD - reserved as invalid */
+       {0, 0},         /* IB_NO_FIELD - reserved as invalid */

-       [IB_GID_PREFIX_F]               {0, 64, "GidPrefix", mad_dump_rhex},
-       [IB_GID_GUID_F]                 {64, 64, "GidGuid", mad_dump_rhex},
+       {0, 64, "GidPrefix", mad_dump_rhex},
+       {64, 64, "GidGuid", mad_dump_rhex},

        /*
         * MAD: common MAD fields (IB spec 13.4.2)
@@ -68,298 +73,314 @@
         */

        /* first MAD word (0-3 bytes) */
-       [IB_MAD_METHOD_F]               {BE_OFFS(0, 7), "MadMethod", mad_dump_hex}, /* TODO: add dumper */
-       [IB_MAD_RESPONSE_F]             {BE_OFFS(7, 1), "MadIsResponse", mad_dump_uint}, /* TODO: add dumper */
-       [IB_MAD_CLASSVER_F]             {BE_OFFS(8, 8), "MadClassVersion", mad_dump_uint},
-       [IB_MAD_MGMTCLASS_F]            {BE_OFFS(16, 8), "MadMgmtClass", mad_dump_uint},  /* TODO: add dumper */
-       [IB_MAD_BASEVER_F]              {BE_OFFS(24, 8), "MadBaseVersion", mad_dump_uint},
+       {BE_OFFS(0, 7), "MadMethod", mad_dump_hex}, /* TODO: add dumper */
+       {BE_OFFS(7, 1), "MadIsResponse", mad_dump_uint}, /* TODO: add dumper */
+       {BE_OFFS(8, 8), "MadClassVersion", mad_dump_uint},
+       {BE_OFFS(16, 8), "MadMgmtClass", mad_dump_uint},  /* TODO: add dumper */
+       {BE_OFFS(24, 8), "MadBaseVersion", mad_dump_uint},

        /* second MAD word (4-7 bytes) */
-       [IB_MAD_STATUS_F]               {BE_OFFS(48, 16), "MadStatus", mad_dump_hex}, /* TODO: add dumper */
+       {BE_OFFS(48, 16), "MadStatus", mad_dump_hex}, /* TODO: add dumper */

        /* DR SMP only */
-       [IB_DRSMP_HOPCNT_F]             {BE_OFFS(32, 8), "DrSmpHopCnt", mad_dump_uint},
-       [IB_DRSMP_HOPPTR_F]             {BE_OFFS(40, 8), "DrSmpHopPtr", mad_dump_uint},
-       [IB_DRSMP_STATUS_F]             {BE_OFFS(48, 15), "DrSmpStatus", mad_dump_hex}, /* TODO: add dumper */
-       [IB_DRSMP_DIRECTION_F]          {BE_OFFS(63, 1), "DrSmpDirection", mad_dump_uint}, /* TODO: add dumper */
+       {BE_OFFS(32, 8), "DrSmpHopCnt", mad_dump_uint},
+       {BE_OFFS(40, 8), "DrSmpHopPtr", mad_dump_uint},
+       {BE_OFFS(48, 15), "DrSmpStatus", mad_dump_hex}, /* TODO: add dumper */
+       {BE_OFFS(63, 1), "DrSmpDirection", mad_dump_uint}, /* TODO: add dumper */

        /* words 3,4,5,6 (8-23 bytes) */
-       [IB_MAD_TRID_F]                 {64, 64, "MadTRID", mad_dump_hex},
-       [IB_MAD_ATTRID_F]               {BE_OFFS(144, 16), "MadAttr", mad_dump_hex}, /* TODO: add dumper */
-       [IB_MAD_ATTRMOD_F]              {160, 32, "MadModifier", mad_dump_hex}, /* TODO: add dumper */
+       {64, 64, "MadTRID", mad_dump_hex},
+       {BE_OFFS(144, 16), "MadAttr", mad_dump_hex}, /* TODO: add dumper */
+       {160, 32, "MadModifier", mad_dump_hex}, /* TODO: add dumper */

        /* word 7,8 (24-31 bytes) */
-       [IB_MAD_MKEY_F]                 {196, 64, "MadMkey", mad_dump_hex},
+       {196, 64, "MadMkey", mad_dump_hex},

        /* word 9 (32-37 bytes) */
-       [IB_DRSMP_DRDLID_F]             {BE_OFFS(256, 16), "DrSmpDLID", mad_dump_hex},
-       [IB_DRSMP_DRSLID_F]             {BE_OFFS(272, 16), "DrSmpSLID", mad_dump_hex},
+       {BE_OFFS(256, 16), "DrSmpDLID", mad_dump_hex},
+       {BE_OFFS(272, 16), "DrSmpSLID", mad_dump_hex},
+
+       /* word 10,11 (36-43 bytes) */
+       {0, 0},         /* IB_SA_MKEY_F - reserved as invalid */

        /* word 12 (44-47 bytes) */
-       [IB_SA_ATTROFFS_F]              {BE_OFFS(46*8, 16), "SaAttrOffs", mad_dump_uint},
+       {BE_OFFS(46*8, 16), "SaAttrOffs", mad_dump_uint},

        /* word 13,14 (48-55 bytes) */
-       [IB_SA_COMPMASK_F]              {48*8, 64, "SaCompMask", mad_dump_hex},
+       {48*8, 64, "SaCompMask", mad_dump_hex},

        /* word 13,14 (56-255 bytes) */
-       [IB_SA_DATA_F]                  {56*8, (256-56)*8, "SaData", mad_dump_hex},
-
-       [IB_DRSMP_PATH_F]               {1024, 512, "DrSmpPath", mad_dump_hex},
-       [IB_DRSMP_RPATH_F]              {1536, 512, "DrSmpRetPath", mad_dump_hex},
-
-       [IB_GS_DATA_F]                  {64*8, (256-64) * 8, "GsData", mad_dump_hex},
+       {56*8, (256-56)*8, "SaData", mad_dump_hex},

+       /* bytes 64 - 127 */
+       {0, 0},         /* IB_SM_DATA_F - reserved as invalid */
+
+       /* bytes 64 - 256 */
+       {64*8, (256-64) * 8, "GsData", mad_dump_hex},
+
+       /* bytes 128 - 191 */
+       {1024, 512, "DrSmpPath", mad_dump_hex},
+
+       /* bytes 192 - 255 */
+       {1536, 512, "DrSmpRetPath", mad_dump_hex},
+
        /*
         * PortInfo fields:
         */
-       [IB_PORT_MKEY_F]                {0, 64, "Mkey", mad_dump_hex},
-       [IB_PORT_GID_PREFIX_F]          {64, 64, "GidPrefix", mad_dump_hex},
-       [IB_PORT_LID_F]                 {BITSOFFS(128, 16), "Lid", mad_dump_hex},
-       [IB_PORT_SMLID_F]               {BITSOFFS(144, 16), "SMLid", mad_dump_hex},
-       [IB_PORT_CAPMASK_F]             {160, 32, "CapMask", mad_dump_portcapmask},
-       [IB_PORT_DIAG_F]                {BITSOFFS(192, 16), "DiagCode", mad_dump_hex},
-       [IB_PORT_MKEY_LEASE_F]          {BITSOFFS(208, 16), "MkeyLeasePeriod", mad_dump_uint},
-       [IB_PORT_LOCAL_PORT_F]          {BITSOFFS(224, 8), "LocalPort", mad_dump_uint},
-       [IB_PORT_LINK_WIDTH_ENABLED_F]  {BITSOFFS(232, 8), "LinkWidthEnabled", mad_dump_linkwidthen},
-       [IB_PORT_LINK_WIDTH_SUPPORTED_F]        {BITSOFFS(240, 8), "LinkWidthSupported", mad_dump_linkwidthsup},
-       [IB_PORT_LINK_WIDTH_ACTIVE_F]   {BITSOFFS(248, 8), "LinkWidthActive", mad_dump_linkwidth},
-       [IB_PORT_LINK_SPEED_SUPPORTED_F]        {BITSOFFS(256, 4), "LinkSpeedSupported", mad_dump_linkspeedsup},
-       [IB_PORT_STATE_F]               {BITSOFFS(260, 4), "LinkState", mad_dump_portstate},
-       [IB_PORT_PHYS_STATE_F]          {BITSOFFS(264, 4), "PhysLinkState", mad_dump_physportstate},
-       [IB_PORT_LINK_DOWN_DEF_F]       {BITSOFFS(268, 4), "LinkDownDefState", mad_dump_linkdowndefstate},
-       [IB_PORT_MKEY_PROT_BITS_F]      {BITSOFFS(272, 2), "ProtectBits", mad_dump_uint},
-       [IB_PORT_LMC_F]                 {BITSOFFS(277, 3), "LMC", mad_dump_uint},
-       [IB_PORT_LINK_SPEED_ACTIVE_F]   {BITSOFFS(280, 4), "LinkSpeedActive", mad_dump_linkspeed},
-       [IB_PORT_LINK_SPEED_ENABLED_F]  {BITSOFFS(284, 4), "LinkSpeedEnabled", mad_dump_linkspeeden},
-       [IB_PORT_NEIGHBOR_MTU_F]        {BITSOFFS(288, 4), "NeighborMTU", mad_dump_mtu},
-       [IB_PORT_SMSL_F]                {BITSOFFS(292, 4), "SMSL", mad_dump_uint},
-       [IB_PORT_VL_CAP_F]              {BITSOFFS(296, 4), "VLCap", mad_dump_vlcap},
-       [IB_PORT_INIT_TYPE_F]           {BITSOFFS(300, 4), "InitType", mad_dump_hex},
-       [IB_PORT_VL_HIGH_LIMIT_F]       {BITSOFFS(304, 8), "VLHighLimit", mad_dump_uint},
-       [IB_PORT_VL_ARBITRATION_HIGH_CAP_F]     {BITSOFFS(312, 8), "VLArbHighCap", mad_dump_uint},
-       [IB_PORT_VL_ARBITRATION_LOW_CAP_F]      {BITSOFFS(320, 8), "VLArbLowCap", mad_dump_uint},
-
-       [IB_PORT_INIT_TYPE_REPLY_F]     {BITSOFFS(328, 4), "InitReply", mad_dump_hex},
-       [IB_PORT_MTU_CAP_F]             {BITSOFFS(332, 4), "MtuCap", mad_dump_mtu},
-       [IB_PORT_VL_STALL_COUNT_F]      {BITSOFFS(336, 3), "VLStallCount", mad_dump_uint},
-       [IB_PORT_HOQ_LIFE_F]            {BITSOFFS(339, 5), "HoqLife", mad_dump_uint},
-       [IB_PORT_OPER_VLS_F]            {BITSOFFS(344, 4), "OperVLs", mad_dump_opervls},
-       [IB_PORT_PART_EN_INB_F]         {BITSOFFS(348, 1), "PartEnforceInb", mad_dump_uint},
-       [IB_PORT_PART_EN_OUTB_F]        {BITSOFFS(349, 1), "PartEnforceOutb", mad_dump_uint},
-       [IB_PORT_FILTER_RAW_INB_F]      {BITSOFFS(350, 1), "FilterRawInb", mad_dump_uint},
-       [IB_PORT_FILTER_RAW_OUTB_F]     {BITSOFFS(351, 1), "FilterRawOutb", mad_dump_uint},
-       [IB_PORT_MKEY_VIOL_F]           {BITSOFFS(352, 16), "MkeyViolations", mad_dump_uint},
-       [IB_PORT_PKEY_VIOL_F]           {BITSOFFS(368, 16), "PkeyViolations", mad_dump_uint},
-       [IB_PORT_QKEY_VIOL_F]           {BITSOFFS(384, 16), "QkeyViolations", mad_dump_uint},
-       [IB_PORT_GUID_CAP_F]            {BITSOFFS(400, 8), "GuidCap", mad_dump_uint},
-       [IB_PORT_CLIENT_REREG_F]        {BITSOFFS(408, 1), "ClientReregister", mad_dump_uint},
-       [IB_PORT_SUBN_TIMEOUT_F]        {BITSOFFS(411, 5), "SubnetTimeout", mad_dump_uint},
-       [IB_PORT_RESP_TIME_VAL_F]       {BITSOFFS(419, 5), "RespTimeVal", mad_dump_uint},
-       [IB_PORT_LOCAL_PHYS_ERR_F]      {BITSOFFS(424, 4), "LocalPhysErr", mad_dump_uint},
-       [IB_PORT_OVERRUN_ERR_F]         {BITSOFFS(428, 4), "OverrunErr", mad_dump_uint},
-       [IB_PORT_MAX_CREDIT_HINT_F]     {BITSOFFS(432, 16), "MaxCreditHint", mad_dump_uint},
-       [IB_PORT_LINK_ROUND_TRIP_F]     {BITSOFFS(456, 24), "RoundTrip", mad_dump_uint},
+       {0, 64, "Mkey", mad_dump_hex},
+       {64, 64, "GidPrefix", mad_dump_hex},
+       {BITSOFFS(128, 16), "Lid", mad_dump_hex},
+       {BITSOFFS(144, 16), "SMLid", mad_dump_hex},
+       {160, 32, "CapMask", mad_dump_portcapmask},
+       {BITSOFFS(192, 16), "DiagCode", mad_dump_hex},
+       {BITSOFFS(208, 16), "MkeyLeasePeriod", mad_dump_uint},
+       {BITSOFFS(224, 8), "LocalPort", mad_dump_uint},
+       {BITSOFFS(232, 8), "LinkWidthEnabled", mad_dump_linkwidthen},
+       {BITSOFFS(240, 8), "LinkWidthSupported", mad_dump_linkwidthsup},
+       {BITSOFFS(248, 8), "LinkWidthActive", mad_dump_linkwidth},
+       {BITSOFFS(256, 4), "LinkSpeedSupported", mad_dump_linkspeedsup},
+       {BITSOFFS(260, 4), "LinkState", mad_dump_portstate},
+       {BITSOFFS(264, 4), "PhysLinkState", mad_dump_physportstate},
+       {BITSOFFS(268, 4), "LinkDownDefState", mad_dump_linkdowndefstate},
+       {BITSOFFS(272, 2), "ProtectBits", mad_dump_uint},
+       {BITSOFFS(277, 3), "LMC", mad_dump_uint},
+       {BITSOFFS(280, 4), "LinkSpeedActive", mad_dump_linkspeed},
+       {BITSOFFS(284, 4), "LinkSpeedEnabled", mad_dump_linkspeeden},
+       {BITSOFFS(288, 4), "NeighborMTU", mad_dump_mtu},
+       {BITSOFFS(292, 4), "SMSL", mad_dump_uint},
+       {BITSOFFS(296, 4), "VLCap", mad_dump_vlcap},
+       {BITSOFFS(300, 4), "InitType", mad_dump_hex},
+       {BITSOFFS(304, 8), "VLHighLimit", mad_dump_uint},
+       {BITSOFFS(312, 8), "VLArbHighCap", mad_dump_uint},
+       {BITSOFFS(320, 8), "VLArbLowCap", mad_dump_uint},
+       {BITSOFFS(328, 4), "InitReply", mad_dump_hex},
+       {BITSOFFS(332, 4), "MtuCap", mad_dump_mtu},
+       {BITSOFFS(336, 3), "VLStallCount", mad_dump_uint},
+       {BITSOFFS(339, 5), "HoqLife", mad_dump_uint},
+       {BITSOFFS(344, 4), "OperVLs", mad_dump_opervls},
+       {BITSOFFS(348, 1), "PartEnforceInb", mad_dump_uint},
+       {BITSOFFS(349, 1), "PartEnforceOutb", mad_dump_uint},
+       {BITSOFFS(350, 1), "FilterRawInb", mad_dump_uint},
+       {BITSOFFS(351, 1), "FilterRawOutb", mad_dump_uint},
+       {BITSOFFS(352, 16), "MkeyViolations", mad_dump_uint},
+       {BITSOFFS(368, 16), "PkeyViolations", mad_dump_uint},
+       {BITSOFFS(384, 16), "QkeyViolations", mad_dump_uint},
+       {BITSOFFS(400, 8), "GuidCap", mad_dump_uint},
+       {BITSOFFS(408, 1), "ClientReregister", mad_dump_uint},
+       {BITSOFFS(411, 5), "SubnetTimeout", mad_dump_uint},
+       {BITSOFFS(419, 5), "RespTimeVal", mad_dump_uint},
+       {BITSOFFS(424, 4), "LocalPhysErr", mad_dump_uint},
+       {BITSOFFS(428, 4), "OverrunErr", mad_dump_uint},
+       {BITSOFFS(432, 16), "MaxCreditHint", mad_dump_uint},
+       {BITSOFFS(456, 24), "RoundTrip", mad_dump_uint},
+       {0, 0},         /* IB_PORT_LAST_F */

        /*
         * NodeInfo fields:
         */
-       [IB_NODE_BASE_VERS_F]           {BITSOFFS(0,8), "BaseVers", mad_dump_uint},
-       [IB_NODE_CLASS_VERS_F]          {BITSOFFS(8,8), "ClassVers", mad_dump_uint},
-       [IB_NODE_TYPE_F]                {BITSOFFS(16,8), "NodeType", mad_dump_node_type},
-       [IB_NODE_NPORTS_F]              {BITSOFFS(24,8), "NumPorts", mad_dump_uint},
-       [IB_NODE_SYSTEM_GUID_F]         {32, 64, "SystemGuid", mad_dump_hex},
-       [IB_NODE_GUID_F]                {96, 64, "Guid", mad_dump_hex},
-       [IB_NODE_PORT_GUID_F]           {160, 64, "PortGuid", mad_dump_hex},
-       [IB_NODE_PARTITION_CAP_F]       {BITSOFFS(224,16), "PartCap", mad_dump_uint},
-       [IB_NODE_DEVID_F]               {BITSOFFS(240,16), "DevId", mad_dump_hex},
-       [IB_NODE_REVISION_F]            {256, 32, "Revision", mad_dump_hex},
-       [IB_NODE_LOCAL_PORT_F]          {BITSOFFS(288,8), "LocalPort", mad_dump_uint},
-       [IB_NODE_VENDORID_F]            {BITSOFFS(296,24), "VendorId", mad_dump_hex},
+       {BITSOFFS(0,8), "BaseVers", mad_dump_uint},
+       {BITSOFFS(8,8), "ClassVers", mad_dump_uint},
+       {BITSOFFS(16,8), "NodeType", mad_dump_node_type},
+       {BITSOFFS(24,8), "NumPorts", mad_dump_uint},
+       {32, 64, "SystemGuid", mad_dump_hex},
+       {96, 64, "Guid", mad_dump_hex},
+       {160, 64, "PortGuid", mad_dump_hex},
+       {BITSOFFS(224,16), "PartCap", mad_dump_uint},
+       {BITSOFFS(240,16), "DevId", mad_dump_hex},
+       {256, 32, "Revision", mad_dump_hex},
+       {BITSOFFS(288,8), "LocalPort", mad_dump_uint},
+       {BITSOFFS(296,24), "VendorId", mad_dump_hex},
+       {0, 0},         /* IB_NODE_LAST_F */
+

        /*
         * SwitchInfo fields:
         */
-       [IB_SW_LINEAR_FDB_CAP_F]        {BITSOFFS(0, 16), "LinearFdbCap", mad_dump_uint},
-       [IB_SW_RANDOM_FDB_CAP_F]        {BITSOFFS(16, 16), "RandomFdbCap", mad_dump_uint},
-       [IB_SW_MCAST_FDB_CAP_F]         {BITSOFFS(32, 16), "McastFdbCap", mad_dump_uint},
-       [IB_SW_LINEAR_FDB_TOP_F]        {BITSOFFS(48, 16), "LinearFdbTop", mad_dump_uint},
-       [IB_SW_DEF_PORT_F]              {BITSOFFS(64, 8), "DefPort", mad_dump_uint},
-       [IB_SW_DEF_MCAST_PRIM_F]        {BITSOFFS(72, 8), "DefMcastPrimPort", mad_dump_uint},
-       [IB_SW_DEF_MCAST_NOT_PRIM_F]    {BITSOFFS(80, 8), "DefMcastNotPrimPort", mad_dump_uint},
-       [IB_SW_LIFE_TIME_F]             {BITSOFFS(88, 5), "LifeTime", mad_dump_uint},
-       [IB_SW_STATE_CHANGE_F]          {BITSOFFS(93, 1), "StateChange", mad_dump_uint},
-       [IB_SW_LIDS_PER_PORT_F]         {BITSOFFS(96,16), "LidsPerPort", mad_dump_uint},
-       [IB_SW_PARTITION_ENFORCE_CAP_F] {BITSOFFS(112, 16), "PartEnforceCap", mad_dump_uint},
-       [IB_SW_PARTITION_ENF_INB_F]     {BITSOFFS(128, 1), "InboundPartEnf", mad_dump_uint},
-       [IB_SW_PARTITION_ENF_OUTB_F]    {BITSOFFS(129, 1), "OutboundPartEnf", mad_dump_uint},
-       [IB_SW_FILTER_RAW_INB_F]        {BITSOFFS(130, 1), "FilterRawInbound", mad_dump_uint},
-       [IB_SW_FILTER_RAW_OUTB_F]       {BITSOFFS(131, 1), "FilterRawOutbound", mad_dump_uint},
-       [IB_SW_ENHANCED_PORT0_F]        {BITSOFFS(132, 1), "EnhancedPort0", mad_dump_uint},
+       {BITSOFFS(0, 16), "LinearFdbCap", mad_dump_uint},
+       {BITSOFFS(16, 16), "RandomFdbCap", mad_dump_uint},
+       {BITSOFFS(32, 16), "McastFdbCap", mad_dump_uint},
+       {BITSOFFS(48, 16), "LinearFdbTop", mad_dump_uint},
+       {BITSOFFS(64, 8), "DefPort", mad_dump_uint},
+       {BITSOFFS(72, 8), "DefMcastPrimPort", mad_dump_uint},
+       {BITSOFFS(80, 8), "DefMcastNotPrimPort", mad_dump_uint},
+       {BITSOFFS(88, 5), "LifeTime", mad_dump_uint},
+       {BITSOFFS(93, 1), "StateChange", mad_dump_uint},
+       {BITSOFFS(96,16), "LidsPerPort", mad_dump_uint},
+       {BITSOFFS(112, 16), "PartEnforceCap", mad_dump_uint},
+       {BITSOFFS(128, 1), "InboundPartEnf", mad_dump_uint},
+       {BITSOFFS(129, 1), "OutboundPartEnf", mad_dump_uint},
+       {BITSOFFS(130, 1), "FilterRawInbound", mad_dump_uint},
+       {BITSOFFS(131, 1), "FilterRawOutbound", mad_dump_uint},
+       {BITSOFFS(132, 1), "EnhancedPort0", mad_dump_uint},
+       {0, 0},         /* IB_SW_LAST_F */

        /*
         * SwitchLinearForwardingTable fields:
         */
-       [IB_LINEAR_FORW_TBL_F]          {0, 512, "LinearForwTbl", mad_dump_array},
+       {0, 512, "LinearForwTbl", mad_dump_array},

        /*
         * SwitchMulticastForwardingTable fields:
         */
-       [IB_MULTICAST_FORW_TBL_F]       {0, 512, "MulticastForwTbl", mad_dump_array},
+       {0, 512, "MulticastForwTbl", mad_dump_array},

        /*
-        * Notice/Trap fields
+        * NodeDescription fields:
         */
-       [IB_NOTICE_IS_GENERIC_F]        {BITSOFFS(0, 1), "NoticeIsGeneric", mad_dump_uint},
-       [IB_NOTICE_TYPE_F]              {BITSOFFS(1, 7), "NoticeType", mad_dump_uint},
-       [IB_NOTICE_PRODUCER_F]          {BITSOFFS(8, 24), "NoticeProducerType", mad_dump_node_type},
-       [IB_NOTICE_TRAP_NUMBER_F]       {BITSOFFS(32, 16), "NoticeTrapNumber", mad_dump_uint},
-       [IB_NOTICE_ISSUER_LID_F]        {BITSOFFS(48, 16), "NoticeIssuerLID", mad_dump_uint},
-       [IB_NOTICE_TOGGLE_F]            {BITSOFFS(64, 1), "NoticeToggle", mad_dump_uint},
-       [IB_NOTICE_COUNT_F]             {BITSOFFS(65, 15), "NoticeCount", mad_dump_uint},
-       [IB_NOTICE_DATA_DETAILS_F]      {80, 432, "NoticeDataDetails", mad_dump_array},
-       [IB_NOTICE_DATA_LID_F]          {BITSOFFS(80, 16), "NoticeDataLID", mad_dump_uint},
-       [IB_NOTICE_DATA_144_LID_F]      {BITSOFFS(96, 16), "NoticeDataTrap144LID", mad_dump_uint},
-       [IB_NOTICE_DATA_144_CAPMASK_F]  {BITSOFFS(128, 32), "NoticeDataTrap144CapMask", mad_dump_uint},
+       {0, 64*8, "NodeDesc", mad_dump_string},

        /*
-        * NodeDescription fields:
+        * Notice/Trap fields
         */
-       [IB_NODE_DESC_F]                {0, 64*8, "NodeDesc", mad_dump_string},
+       {BITSOFFS(0, 1), "NoticeIsGeneric", mad_dump_uint},
+       {BITSOFFS(1, 7), "NoticeType", mad_dump_uint},
+       {BITSOFFS(8, 24), "NoticeProducerType", mad_dump_node_type},
+       {BITSOFFS(32, 16), "NoticeTrapNumber", mad_dump_uint},
+       {BITSOFFS(48, 16), "NoticeIssuerLID", mad_dump_uint},
+       {BITSOFFS(64, 1), "NoticeToggle", mad_dump_uint},
+       {BITSOFFS(65, 15), "NoticeCount", mad_dump_uint},
+       {80, 432, "NoticeDataDetails", mad_dump_array},
+       {BITSOFFS(80, 16), "NoticeDataLID", mad_dump_uint},
+       {BITSOFFS(96, 16), "NoticeDataTrap144LID", mad_dump_uint},
+       {BITSOFFS(128, 32), "NoticeDataTrap144CapMask", mad_dump_uint},

        /*
         * Port counters
         */
-       [IB_PC_PORT_SELECT_F]           {BITSOFFS(8, 8), "PortSelect", mad_dump_uint},
-       [IB_PC_COUNTER_SELECT_F]        {BITSOFFS(16, 16), "CounterSelect", mad_dump_hex},
-       [IB_PC_ERR_SYM_F]               {BITSOFFS(32, 16), "SymbolErrors", mad_dump_uint},
-       [IB_PC_LINK_RECOVERS_F]         {BITSOFFS(48, 8), "LinkRecovers", mad_dump_uint},
-       [IB_PC_LINK_DOWNED_F]           {BITSOFFS(56, 8), "LinkDowned", mad_dump_uint},
-       [IB_PC_ERR_RCV_F]               {BITSOFFS(64, 16), "RcvErrors", mad_dump_uint},
-       [IB_PC_ERR_PHYSRCV_F]           {BITSOFFS(80, 16), "RcvRemotePhysErrors", mad_dump_uint},
-       [IB_PC_ERR_SWITCH_REL_F]        {BITSOFFS(96, 16), "RcvSwRelayErrors", mad_dump_uint},
-       [IB_PC_XMT_DISCARDS_F]          {BITSOFFS(112, 16), "XmtDiscards", mad_dump_uint},
-       [IB_PC_ERR_XMTCONSTR_F]         {BITSOFFS(128, 8), "XmtConstraintErrors", mad_dump_uint},
-       [IB_PC_ERR_RCVCONSTR_F]         {BITSOFFS(136, 8), "RcvConstraintErrors", mad_dump_uint},
-       [IB_PC_ERR_LOCALINTEG_F]        {BITSOFFS(152, 4), "LinkIntegrityErrors", mad_dump_uint},
-       [IB_PC_ERR_EXCESS_OVR_F]        {BITSOFFS(156, 4), "ExcBufOverrunErrors", mad_dump_uint},
-       [IB_PC_VL15_DROPPED_F]          {BITSOFFS(176, 16), "VL15Dropped", mad_dump_uint},
-       [IB_PC_XMT_BYTES_F]             {192, 32, "XmtData", mad_dump_uint},
-       [IB_PC_RCV_BYTES_F]             {224, 32, "RcvData", mad_dump_uint},
-       [IB_PC_XMT_PKTS_F]              {256, 32, "XmtPkts", mad_dump_uint},
-       [IB_PC_RCV_PKTS_F]              {288, 32, "RcvPkts", mad_dump_uint},
+       {BITSOFFS(8, 8), "PortSelect", mad_dump_uint},
+       {BITSOFFS(16, 16), "CounterSelect", mad_dump_hex},
+       {BITSOFFS(32, 16), "SymbolErrors", mad_dump_uint},
+       {BITSOFFS(48, 8), "LinkRecovers", mad_dump_uint},
+       {BITSOFFS(56, 8), "LinkDowned", mad_dump_uint},
+       {BITSOFFS(64, 16), "RcvErrors", mad_dump_uint},
+       {BITSOFFS(80, 16), "RcvRemotePhysErrors", mad_dump_uint},
+       {BITSOFFS(96, 16), "RcvSwRelayErrors", mad_dump_uint},
+       {BITSOFFS(112, 16), "XmtDiscards", mad_dump_uint},
+       {BITSOFFS(128, 8), "XmtConstraintErrors", mad_dump_uint},
+       {BITSOFFS(136, 8), "RcvConstraintErrors", mad_dump_uint},
+       {BITSOFFS(152, 4), "LinkIntegrityErrors", mad_dump_uint},
+       {BITSOFFS(156, 4), "ExcBufOverrunErrors", mad_dump_uint},
+       {BITSOFFS(176, 16), "VL15Dropped", mad_dump_uint},
+       {192, 32, "XmtData", mad_dump_uint},
+       {224, 32, "RcvData", mad_dump_uint},
+       {256, 32, "XmtPkts", mad_dump_uint},
+       {288, 32, "RcvPkts", mad_dump_uint},
+       {0, 0},         /* IB_PC_LAST_F */

        /*
         * SMInfo
         */
-       [IB_SMINFO_GUID_F]              {0, 64, "SmInfoGuid", mad_dump_hex},
-       [IB_SMINFO_KEY_F]               {64, 64, "SmInfoKey", mad_dump_hex},
-       [IB_SMINFO_ACT_F]               {128, 32, "SmActivity", mad_dump_uint},
-       [IB_SMINFO_PRIO_F]              {BITSOFFS(160, 4), "SmPriority", mad_dump_uint},
-       [IB_SMINFO_STATE_F]             {BITSOFFS(164, 4), "SmState", mad_dump_uint},
+       {0, 64, "SmInfoGuid", mad_dump_hex},
+       {64, 64, "SmInfoKey", mad_dump_hex},
+       {128, 32, "SmActivity", mad_dump_uint},
+       {BITSOFFS(160, 4), "SmPriority", mad_dump_uint},
+       {BITSOFFS(164, 4), "SmState", mad_dump_uint},

        /*
         * SA RMPP
         */
-       [IB_SA_RMPP_VERS_F]             {BE_OFFS(24*8+24, 8), "RmppVers", mad_dump_uint},
-       [IB_SA_RMPP_TYPE_F]             {BE_OFFS(24*8+16, 8), "RmppType", mad_dump_uint},
-       [IB_SA_RMPP_RESP_F]             {BE_OFFS(24*8+11, 5), "RmppResp", mad_dump_uint},
-       [IB_SA_RMPP_FLAGS_F]            {BE_OFFS(24*8+8, 3), "RmppFlags", mad_dump_hex},
-       [IB_SA_RMPP_STATUS_F]           {BE_OFFS(24*8+0, 8), "RmppStatus", mad_dump_hex},
+       {BE_OFFS(24*8+24, 8), "RmppVers", mad_dump_uint},
+       {BE_OFFS(24*8+16, 8), "RmppType", mad_dump_uint},
+       {BE_OFFS(24*8+11, 5), "RmppResp", mad_dump_uint},
+       {BE_OFFS(24*8+8, 3), "RmppFlags", mad_dump_hex},
+       {BE_OFFS(24*8+0, 8), "RmppStatus", mad_dump_hex},

        /* data1 */
-       [IB_SA_RMPP_D1_F]               {28*8, 32, "RmppData1", mad_dump_hex},
-       [IB_SA_RMPP_SEGNUM_F]           {28*8, 32, "RmppSegNum", mad_dump_uint},
+       {28*8, 32, "RmppData1", mad_dump_hex},
+       {28*8, 32, "RmppSegNum", mad_dump_uint},
        /* data2 */
-       [IB_SA_RMPP_D2_F]               {32*8, 32, "RmppData2", mad_dump_hex},
-       [IB_SA_RMPP_LEN_F]              {32*8, 32, "RmppPayload", mad_dump_uint},
-       [IB_SA_RMPP_NEWWIN_F]           {32*8, 32, "RmppNewWin", mad_dump_uint},
-
+       {32*8, 32, "RmppData2", mad_dump_hex},
+       {32*8, 32, "RmppPayload", mad_dump_uint},
+       {32*8, 32, "RmppNewWin", mad_dump_uint},
+
        /*
-        * SA Path rec
+        * SA Get Multi Path
         */
-       [IB_SA_PR_DGID_F]               {64, 128, "PathRecDGid", mad_dump_array},
-       [IB_SA_PR_SGID_F]               {192, 128, "PathRecSGid", mad_dump_array},
-       [IB_SA_PR_DLID_F]               {BITSOFFS(320,16), "PathRecDLid", mad_dump_hex},
-       [IB_SA_PR_SLID_F]               {BITSOFFS(336,16), "PathRecSLid", mad_dump_hex},
-       [IB_SA_PR_NPATH_F]              {BITSOFFS(393,7), "PathRecNumPath", mad_dump_uint},
+       {BITSOFFS(41,7), "MultiPathNumPath", mad_dump_uint},
+       {BITSOFFS(120,8), "MultiPathNumSrc", mad_dump_uint},
+       {BITSOFFS(128,8), "MultiPathNumDest", mad_dump_uint},
+       {192, 128, "MultiPathGid", mad_dump_array},

        /*
-        * SA Get Multi Path
+        * SA Path rec
         */
-       [IB_SA_MP_NPATH_F]              {BITSOFFS(41,7), "MultiPathNumPath", mad_dump_uint},
-       [IB_SA_MP_NSRC_F]               {BITSOFFS(120,8), "MultiPathNumSrc", mad_dump_uint},
-       [IB_SA_MP_NDEST_F]              {BITSOFFS(128,8), "MultiPathNumDest", mad_dump_uint},
-       [IB_SA_MP_GID0_F]               {192, 128, "MultiPathGid", mad_dump_array},
+       {64, 128, "PathRecDGid", mad_dump_array},
+       {192, 128, "PathRecSGid", mad_dump_array},
+       {BITSOFFS(320,16), "PathRecDLid", mad_dump_hex},
+       {BITSOFFS(336,16), "PathRecSLid", mad_dump_hex},
+       {BITSOFFS(393,7), "PathRecNumPath", mad_dump_uint},

        /*
         * MC Member rec
         */
-       [IB_SA_MCM_MGID_F]              {0, 128, "McastMemMGid", mad_dump_array},
-       [IB_SA_MCM_PORTGID_F]           {128, 128, "McastMemPortGid", mad_dump_array},
-       [IB_SA_MCM_QKEY_F]              {256, 32, "McastMemQkey", mad_dump_hex},
-       [IB_SA_MCM_MLID_F]              {BITSOFFS(288, 16), "McastMemMLid", mad_dump_hex},
-       [IB_SA_MCM_MTU_F]               {BITSOFFS(306, 6), "McastMemMTU", mad_dump_uint},
-       [IB_SA_MCM_TCLASS_F]            {BITSOFFS(312, 8), "McastMemTClass", mad_dump_uint},
-       [IB_SA_MCM_PKEY_F]              {BITSOFFS(320, 16), "McastMemPkey", mad_dump_uint},
-       [IB_SA_MCM_RATE_F]              {BITSOFFS(338, 6), "McastMemRate", mad_dump_uint},
-       [IB_SA_MCM_SL_F]                {BITSOFFS(352, 4), "McastMemSL", mad_dump_uint},
-       [IB_SA_MCM_FLOW_LABEL_F]        {BITSOFFS(356, 20), "McastMemFlowLbl", mad_dump_uint},
-       [IB_SA_MCM_JOIN_STATE_F]        {BITSOFFS(388, 4), "McastMemJoinState", mad_dump_uint},
-       [IB_SA_MCM_PROXY_JOIN_F]        {BITSOFFS(392, 1), "McastMemProxyJoin", mad_dump_uint},
+       {0, 128, "McastMemMGid", mad_dump_array},
+       {128, 128, "McastMemPortGid", mad_dump_array},
+       {256, 32, "McastMemQkey", mad_dump_hex},
+       {BITSOFFS(288, 16), "McastMemMLid", mad_dump_hex},
+       {BITSOFFS(352, 4), "McastMemSL", mad_dump_uint},
+       {BITSOFFS(306, 6), "McastMemMTU", mad_dump_uint},
+       {BITSOFFS(338, 6), "McastMemRate", mad_dump_uint},
+       {BITSOFFS(312, 8), "McastMemTClass", mad_dump_uint},
+       {BITSOFFS(320, 16), "McastMemPkey", mad_dump_uint},
+       {BITSOFFS(356, 20), "McastMemFlowLbl", mad_dump_uint},
+       {BITSOFFS(388, 4), "McastMemJoinState", mad_dump_uint},
+       {BITSOFFS(392, 1), "McastMemProxyJoin", mad_dump_uint},

        /*
         * Service record
         */
-       [IB_SA_SR_ID_F]                 {0, 64, "ServRecID", mad_dump_hex},
-       [IB_SA_SR_GID_F]                {64, 128, "ServRecGid", mad_dump_array},
-       [IB_SA_SR_PKEY_F]               {BITSOFFS(192, 16), "ServRecPkey", mad_dump_hex},
-       [IB_SA_SR_LEASE_F]              {224, 32, "ServRecLease", mad_dump_hex},
-       [IB_SA_SR_KEY_F]                {256, 128, "ServRecKey", mad_dump_hex},
-       [IB_SA_SR_NAME_F]               {384, 512, "ServRecName", mad_dump_string},
-       [IB_SA_SR_DATA_F]               {896, 512, "ServRecData", mad_dump_array},      /* ATS for example */
+       {0, 64, "ServRecID", mad_dump_hex},
+       {64, 128, "ServRecGid", mad_dump_array},
+       {BITSOFFS(192, 16), "ServRecPkey", mad_dump_hex},
+       {224, 32, "ServRecLease", mad_dump_hex},
+       {256, 128, "ServRecKey", mad_dump_hex},
+       {384, 512, "ServRecName", mad_dump_string},
+       {896, 512, "ServRecData", mad_dump_array},      /* ATS for example */

        /*
         * ATS SM record - within SA_SR_DATA
         */
-       [IB_ATS_SM_NODE_ADDR_F]         {12*8, 32, "ATSNodeAddr", mad_dump_hex},
-       [IB_ATS_SM_MAGIC_KEY_F]         {BITSOFFS(16*8, 16), "ATSMagicKey", mad_dump_hex},
-       [IB_ATS_SM_NODE_TYPE_F]         {BITSOFFS(18*8, 16), "ATSNodeType", mad_dump_hex},
-       [IB_ATS_SM_NODE_NAME_F]         {32*8, 32*8, "ATSNodeName", mad_dump_string},
+       {12*8, 32, "ATSNodeAddr", mad_dump_hex},
+       {BITSOFFS(16*8, 16), "ATSMagicKey", mad_dump_hex},
+       {BITSOFFS(18*8, 16), "ATSNodeType", mad_dump_hex},
+       {32*8, 32*8, "ATSNodeName", mad_dump_string},

        /*
         * SLTOVL MAPPING TABLE
         */
-       [IB_SLTOVL_MAPPING_TABLE_F]     {0, 64, "SLToVLMap", mad_dump_hex},
+       {0, 64, "SLToVLMap", mad_dump_hex},

        /*
         * VL ARBITRATION TABLE
         */
-       [IB_VL_ARBITRATION_TABLE_F]     {0, 512, "VLArbTbl", mad_dump_array},
+       {0, 512, "VLArbTbl", mad_dump_array},

        /*
         * IB vendor classes range 2
         */
-       [IB_VEND2_OUI_F]                {BE_OFFS(36*8, 24), "OUI", mad_dump_array},
-       [IB_VEND2_DATA_F]               {40*8, (256-40)*8, "Vendor2Data", mad_dump_array},
+       {BE_OFFS(36*8, 24), "OUI", mad_dump_array},
+       {40*8, (256-40)*8, "Vendor2Data", mad_dump_array},

        /*
         * Extended port counters
         */
-       [IB_PC_EXT_PORT_SELECT_F]       {BITSOFFS(8, 8), "PortSelect", mad_dump_uint},
-       [IB_PC_EXT_COUNTER_SELECT_F]    {BITSOFFS(16, 16), "CounterSelect", mad_dump_hex},
-       [IB_PC_EXT_XMT_BYTES_F]         {64, 64, "PortXmitData", mad_dump_uint},
-       [IB_PC_EXT_RCV_BYTES_F]         {128, 64, "PortRcvData", mad_dump_uint},
-       [IB_PC_EXT_XMT_PKTS_F]          {192, 64, "PortXmitPkts", mad_dump_uint},
-       [IB_PC_EXT_RCV_PKTS_F]          {256, 64, "PortRcvPkts", mad_dump_uint},
-       [IB_PC_EXT_XMT_UPKTS_F]         {320, 64, "PortUnicastXmitPkts", mad_dump_uint},
-       [IB_PC_EXT_RCV_UPKTS_F]         {384, 64, "PortUnicastRcvPkts", mad_dump_uint},
-       [IB_PC_EXT_XMT_MPKTS_F]         {448, 64, "PortMulticastXmitPkts", mad_dump_uint},
-       [IB_PC_EXT_RCV_MPKTS_F]         {512, 64, "PortMulticastRcvPkts", mad_dump_uint},
+       {BITSOFFS(8, 8), "PortSelect", mad_dump_uint},
+       {BITSOFFS(16, 16), "CounterSelect", mad_dump_hex},
+       {64, 64, "PortXmitData", mad_dump_uint},
+       {128, 64, "PortRcvData", mad_dump_uint},
+       {192, 64, "PortXmitPkts", mad_dump_uint},
+       {256, 64, "PortRcvPkts", mad_dump_uint},
+       {320, 64, "PortUnicastXmitPkts", mad_dump_uint},
+       {384, 64, "PortUnicastRcvPkts", mad_dump_uint},
+       {448, 64, "PortMulticastXmitPkts", mad_dump_uint},
+       {512, 64, "PortMulticastRcvPkts", mad_dump_uint},
+       {0, 0},         /* IB_PC_EXT_LAST_F */

        /*
         * GUIDInfo fields
         */
-       [IB_GUID_GUID0_F]               {0, 64, "GUID0", mad_dump_hex},
+       {0, 64, "GUID0", mad_dump_hex},
+       {0, 0}          /* IB_FIELD_LAST_ */

 };

@@ -368,7 +389,7 @@
 {
        uint64_t nval;

-       nval = htonll(val);
+       nval = cl_hton64(val);
        memcpy((char *)buf + base_offs + f->bitoffs / 8, &nval, sizeof(uint64_t));
 }

@@ -377,7 +398,7 @@
 {
        uint64_t val;
        memcpy(&val, ((char *)buf + base_offs + f->bitoffs / 8), sizeof(uint64_t));
-       return ntohll(val);
+       return cl_ntoh64(val);
 }

 void



More information about the ofw mailing list