---
name: "ibis"
section: "1"
platform: "linux"
package: "ibutils"
version: "1.5.7+0.2.gbd7e502-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ibis"
---

# ibis(1)

IB management Inband Services - an extended TCL shell

## NAME

ibis - IB management Inband Services - an extended TCL shell

## SYNOPSYS

ibis \[-port\_num \<port number to attach to\>\]

## DESCRIPTION

**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.

## IBIS Constants

These constants are provided by IBIS:

### Log Verbosity Flags

- \[ Constant : int \] $IBIS\_LOG\_NONE = 0x00

  - \[ Constant : int \] $IBIS\_LOG\_ERROR = 0x01

  - \[ Constant : int \] $IBIS\_LOG\_INFO = 0x02

  - \[ Constant : int \] $IBIS\_LOG\_VERBOSE = 0x04

  - \[ Constant : int \] $IBIS\_LOG\_DEBUG = 0x08

  - \[ Constant : int \] $IBIS\_LOG\_FUNCS = 0x10

  - \[ Constant : int \] $IBIS\_LOG\_FRAMES = 0x20

  ## IBIS Functions

This section provide the details about the functions IBIS exposes. They all return 0 on succes.

- \[return list\] ibis\_get\_local\_ports\_info

  Return the list of available IB ports with GUID, LID, state and port number.

- \[ returns int \] ibis\_init

  Initialize ibis object

- \[ returns int \] ibis\_set\_verbosity level

  Change the log verbosity

- \[ 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.

- \[ returns new\_uint64\_t \] ibis\_get\_port

  Provide the GUID of the port IBIS is attached to

- \[ returns int \] ibis\_set\_transaction\_timeout timeout\_ms

  Set the transaction time out in \[msec\]

- \[ returns int \] ibis\_exit

  Exit IBIS.

- \[ returns int \] ibis\_puts verbosity msg

  Appends a message to the OpenSM log

### IBIS Options Object

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:

- \[ Member data: returns boolean\_t \* \] -single\_thread

  Run single threaded

- \[ Member data: returns boolean\_t \* \] -force\_log\_flush

  If TRUE - forces flash after each log message (TRUE).

- \[ Member data: returns uint8\_t \* \] -log\_flags

  The log levels to be used

- \[ Member data: returns char \* \] -log\_file

  The name of the log file to be used.Must be configured before **ibis\_init** is used to make an affect

- \[ Member data: returns uint64\_t \* \] -sm\_key

  The SM\_Key to be used when sending SubnetMgt and SubnetAdmin MADs

- \[ Member data: returns uint64\_t \* \] -m\_key

  The M\_Key to be used when sending SubnetMgt

- \[ Member data: returns uint64\_t \* \] -v\_key

  The Vendor Key to be used when sending Vendor Specific MADs.

## 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.

- \[ returns int \] pmMultiMaxGet

  Obtain the maximal number of parallel queries that can be sent

- \[ returns int \] pmGetPortCounters lid port\_select

  Send a "PortCounters" query to the given LID and port

- \[ 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.

- \[ 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.

- \[ returns int \] pmClrAllCounters lid port\_select

  Sends a command to "clear all counters" on the given LID and port

- \[ 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.

## 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.

### IBSAC Objects

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:

- dump

  dump out all fields and values for the obejct

- cget -\<field\>:

  obtain the value of the given field

- configure -\<field\> \<value\>:

  set the field value

- 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 **set** method to the SA with the component mask and field values as set on the query object

  \==item delete \<comp mask\>:

  send a **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:

- ni:\<idx\> = node info

  - nr:\<idx\> = node info record (SA RID + node info)

  - pi:\<idx\> = port info

  - pir:\<idx\> = port info record (SA RID + port info)

  - smi:\<idx\> = SM info

  - smir:\<idx\> = SM info record (SA RID + SM info)

  - swi:\<idx\> = switch info

  - swir:\<idx\> = switch info record (SA RID + switch info)

  - slvt:\<idx\> = SL to VL table

  - slvr:\<idx\> = SL to VL table Record (SA RID + SL to VL table)

  - pkt:\<idx\> = PKey table

  - pkr:\<idx\> = PKey table record (SA RID + PKey table)

  Queries of non embedded attributes:

- link:\<idx\> = link record

  - path:\<idx\> = path record

  - lft:\<idx\> = Linear forwarding table

  - mcm:\<idx\> = Multicast Member Record

  - cpi:\<idx\> = SA Class Port Info

  - info:\<idx\> = Inform info (registration of event forwarding)

  - svc:\<idx\> = Service Record

  - vlarb:\<idx\>= VL Arbitration table record

  ### NODE INFO RECORD

Component mask bits:

- \[ Constant : int \] $IB\_NR\_COMPMASK\_LID = 0x1

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_RESERVED1 = 0x2

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_BASEVERSION = 0x4

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_CLASSVERSION = 0x8

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_NODETYPE = 0x10

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_NUMPORTS = 0x20

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_SYSIMAGEGUID = 0x40

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_NODEGUID = 0x80

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_PORTGUID = 0x100

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_PARTCAP = 0x200

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_DEVID = 0x400

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_REV = 0x800

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_PORTNUM = 0x1000

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_VENDID = 0x2000

  - \[ Constant : int \] $IB\_NR\_COMPMASK\_NODEDESC = 0x4000

  \----

*class sacNodeInfo*

Fields:

- \[ Member data: returns uint8\_t \* \] -base\_version

  - \[ Member data: returns uint8\_t \* \] -class\_version

  - \[ Member data: returns uint8\_t \* \] -node\_type

  - \[ Member data: returns uint8\_t \* \] -num\_ports

  - \[ Member data: returns ib\_net64\_t \* \] -sys\_guid

  - \[ Member data: returns ib\_net64\_t \* \] -node\_guid

  - \[ Member data: returns ib\_net64\_t \* \] -port\_guid

  - \[ Member data: returns ib\_net16\_t \* \] -partition\_cap

  - \[ Member data: returns ib\_net16\_t \* \] -device\_id

  - \[ Member data: returns ib\_net32\_t \* \] -revision

  - \[ Member data: returns ib\_net32\_t \* \] -port\_num\_vendor\_id

  - \[ Member : returns void \] delete

  \----

*class sacNodeRec*

RID Fields:

- \[ Member data: returns ib\_net16\_t \* \] -lid

  - \[ Member data: returns sacNodeInfo \* \] -node\_info

  - \[ Member data: returns ib\_node\_desc\_t \* \] -node\_desc

  Methods:

- \[ Member : returns char \* \] get comp\_mask

  - \[ Member : returns char \* \] getTable comp\_mask

  - \[ Member : returns void \] delete

  ### PORT INFO RECORD

Component mask bits:

- \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_LID = 0x1

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_PORTNUM = 0x2

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_RESV1 = 0x4

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_MKEY = 0x8

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_GIDPRE = 0x10

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_BASELID = 0x20

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_SMLID = 0x40

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_CAPMASK = 0x80

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_DIAGCODE = 0x100

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_MKEYLEASEPRD = 0x200

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_LOCALPORTNUM = 0x400

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_LNKWIDTHSUPPORT = 0x800

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_LNKWIDTHACTIVE = 0x1000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_LINKWIDTHENABLED = 0x2000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_LNKSPEEDSUPPORT = 0x4000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_PORTSTATE = 0x10000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_PORTPHYSTATE = 0x20000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_LINKDWNDFLTSTATE = 0x40000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_MKEYPROTBITS = 0x80000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_LMC = 0x100000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_LINKSPEEDACTIVE = 0x200000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_LINKSPEEDENABLE = 0x400000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_NEIGHBORMTU = 0x800000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_MASTERSMSL = 0x1000000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_VLCAP = 0x2000000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_INITTYPE = 0x4000000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_VLHIGHLIMIT = 0x8000000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_VLARBHIGHCAP = 0x10000000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_VLARBLOWCAP = 0x20000000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_INITTYPEREPLY = 0x40000000

  - \[ Constant : int \] $IB\_PIR\_COMPMASK\_MTUCAP = 0x80000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_VLSTALLCNT = 0x100000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_HOQLIFE = 0x200000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_OPVLS = 0x400000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_PARENFIN = 0x800000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_PARENFOUT = 0x1000000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_FILTERRAWIN = 0x2000000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_FILTERRAWOUT = 0x4000000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_MKEYVIO = 0x8000000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_PKEYVIO = 0x10000000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_QKEYVIO = 0x20000000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_GUIDCAP = 0x40000000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_RESV2 = 0x80000000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_SUBNTO = 0x100000000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_RESV3 = 0x200000000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_RESPTIME = 0x400000000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_LOCALPHYERR = 0x800000000000

  - \[ Constant : char \* \] $IB\_PIR\_COMPMASK\_OVERRUNERR = 0x1000000000000

  \----

*class sacPortInfo*

Fields:

- \[ Member data: returns ib\_net64\_t \* \] -m\_key

  - \[ Member data: returns ib\_net64\_t \* \] -subnet\_prefix

  - \[ Member data: returns ib\_net16\_t \* \] -base\_lid

  - \[ Member data: returns ib\_net16\_t \* \] -master\_sm\_base\_lid

  - \[ Member data: returns ib\_net32\_t \* \] -capability\_mask

  - \[ Member data: returns ib\_net16\_t \* \] -diag\_code

  - \[ Member data: returns ib\_net16\_t \* \] -m\_key\_lease\_period

  - \[ Member data: returns uint8\_t \* \] -local\_port\_num

  - \[ Member data: returns uint8\_t \* \] -link\_width\_enabled

  - \[ Member data: returns uint8\_t \* \] -link\_width\_supported

  - \[ Member data: returns uint8\_t \* \] -link\_width\_active

  - \[ Member data: returns uint8\_t \* \] -state\_info1

  LinkSpeedSupported and PortState

- \[ Member data: returns uint8\_t \* \] -state\_info2

  PortPhysState and LinkDownDefaultState

- \[ Member data: returns uint8\_t \* \] -mkey\_lmc

  - \[ Member data: returns uint8\_t \* \] -link\_speed

  LinkSpeedEnabled and LinkSpeedActive

- \[ Member data: returns uint8\_t \* \] -mtu\_smsl

  - \[ Member data: returns uint8\_t \* \] -vl\_cap

  VlCap and InitType

- \[ Member data: returns uint8\_t \* \] -vl\_high\_limit

  - \[ Member data: returns uint8\_t \* \] -vl\_arb\_high\_cap

  - \[ Member data: returns uint8\_t \* \] -vl\_arb\_low\_cap

  - \[ Member data: returns uint8\_t \* \] -mtu\_cap

  - \[ Member data: returns uint8\_t \* \] -vl\_stall\_life

  - \[ Member data: returns uint8\_t \* \] -vl\_enforce

  - \[ Member data: returns ib\_net16\_t \* \] -m\_key\_violations

  - \[ Member data: returns ib\_net16\_t \* \] -p\_key\_violations

  - \[ Member data: returns ib\_net16\_t \* \] -q\_key\_violations

  - \[ Member data: returns uint8\_t \* \] -guid\_cap

  - \[ Member data: returns uint8\_t \* \] -subnet\_timeout

  - \[ Member data: returns uint8\_t \* \] -resp\_time\_value

  - \[ Member data: returns uint8\_t \* \] -error\_threshold

  - \[ Member : returns void \] delete

  \----

*class sacPortRec*

RID Fields:

- \[ Member data: returns ib\_net16\_t \* \] -lid

  - \[ Member data: returns uint8\_t \* \] -port\_num

  - \[ Member data: returns sacPortInfo \* \] -port\_info

  Methods:

- \[ Member : returns char \* \] get comp\_mask

  - \[ Member : returns char \* \] getTable comp\_mask

  - \[ Member : returns void \] delete

  ### SM INFO RECORD

Component mask bits:

- \[ Constant : char \* \] $IB\_SMR\_COMPMASK\_LID = 0x1

  - \[ Constant : char \* \] $IB\_SMR\_COMPMASK\_GUID = 0x2

  - \[ Constant : char \* \] $IB\_SMR\_COMPMASK\_SM\_KEY = 0x4

  - \[ Constant : char \* \] $IB\_SMR\_COMPMASK\_ACT\_COUNT = 0x8

  - \[ Constant : int \] $IB\_SMR\_COMPMASK\_STATE = 0x10

  - \[ Constant : int \] $IB\_SMR\_COMPMASK\_PRI = 0x20

  \----

*class sacSmInfo*

Fields:

- \[ Member data: returns ib\_net64\_t \* \] -guid

  - \[ Member data: returns ib\_net64\_t \* \] -sm\_key

  - \[ Member data: returns ib\_net32\_t \* \] -act\_count

  - \[ Member data: returns uint8\_t \* \] -pri\_state

  - \[ Member : returns void \] delete

  \----

*class sacSmRec*

RID Fields:

- \[ Member data: returns ib\_net16\_t \* \] -lid

  - \[ Member data: returns sacSmInfo \* \] -sm\_info

  Methods:

- \[ Member : returns char \* \] get comp\_mask

  - \[ Member : returns char \* \] getTable comp\_mask

  - \[ Member : returns void \] delete

  ### SWITCH INFO RECORD

Component mask bits:

- \[ Constant : char \* \] $IB\_SWR\_COMPMASK\_LID = 0x1

  - \[ Constant : char \* \] $IB\_SWR\_COMPMASK\_LIN\_CAP = 0x2

  - \[ Constant : char \* \] $IB\_SWR\_COMPMASK\_RAND\_CAP = 0x4

  - \[ Constant : char \* \] $IB\_SWR\_COMPMASK\_MCAST\_CAP = 0x8

  - \[ Constant : char \* \] $IB\_SWR\_COMPMASK\_LIN\_TOP = 0x10

  - \[ Constant : char \* \] $IB\_SWR\_COMPMASK\_DEF\_PORT = 0x20

  - \[ Constant : char \* \] $IB\_SWR\_COMPMASK\_DEF\_MCAST\_PRI = 0x40

  - \[ Constant : char \* \] $IB\_SWR\_COMPMASK\_DEF\_MCAST\_NOT = 0x80

  - \[ Constant : char \* \] $IB\_SWR\_COMPMASK\_STATE = 0x100

  - \[ Constant : char \* \] $IB\_SWR\_COMPMASK\_LIFE = 0x200

  - \[ Constant : char \* \] $IB\_SWR\_COMPMASK\_LMC = 0x400

  - \[ Constant : char \* \] $IB\_SWR\_COMPMASK\_ENFORCE\_CAP = 0x800

  - \[ Constant : char \* \] $IB\_SWR\_COMPMASK\_FLAGS = 0x1000

  \----

*class sacSwInfo*

Fields:

- \[ Member data: returns ib\_net16\_t \* \] -lin\_cap

  - \[ Member data: returns ib\_net16\_t \* \] -rand\_cap

  - \[ Member data: returns ib\_net16\_t \* \] -mcast\_cap

  - \[ Member data: returns ib\_net16\_t \* \] -lin\_top

  - \[ Member data: returns uint8\_t \* \] -def\_port

  - \[ Member data: returns uint8\_t \* \] -def\_mcast\_pri\_port

  - \[ Member data: returns uint8\_t \* \] -def\_mcast\_not\_port

  - \[ Member data: returns uint8\_t \* \] -life\_state

  - \[ Member data: returns ib\_net16\_t \* \] -lids\_per\_port

  - \[ Member data: returns ib\_net16\_t \* \] -enforce\_cap

  - \[ Member data: returns uint8\_t \* \] -flags

  - \[ Member : returns void \] delete

  \----

*class sacSwRec*

RID Fields:

- \[ Member data: returns ib\_net16\_t \* \] -lid

  - \[ Member data: returns sacSwInfo \* \] -switch\_info

  Methods:

- \[ Member : returns char \* \] get comp\_mask

  - \[ Member : returns char \* \] getTable comp\_mask

  - \[ Member : returns void \] delete

  ### LINK RECORD

Component mask bits:

- \[ Constant : int \] $IB\_LR\_COMPMASK\_FROM\_LID = 0x1

  - \[ Constant : int \] $IB\_LR\_COMPMASK\_FROM\_PORT = 0x2

  - \[ Constant : int \] $IB\_LR\_COMPMASK\_TO\_PORT = 0x4

  - \[ Constant : int \] $IB\_LR\_COMPMASK\_TO\_LID = 0x8

  \----

*class sacLinkRec*

Fields:

- \[ Member data: returns ib\_net16\_t \* \] -from\_lid

  - \[ Member data: returns uint8\_t \* \] -from\_port\_num

  - \[ Member data: returns uint8\_t \* \] -to\_port\_num

  - \[ Member data: returns ib\_net16\_t \* \] -to\_lid

  Methods:

- \[ Member : returns char \* \] get comp\_mask

  - \[ Member : returns char \* \] getTable comp\_mask

  - \[ Member : returns void \] delete

  ### PATH RECORD

Component mask bits:

- \[ Constant : int \] $IB\_PR\_COMPMASK\_DGID = 0x4

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_SGID = 0x8

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_DLID = 0x10

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_SLID = 0x20

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_RAWTRAFIC = 0x40

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_RESV0 = 0x80

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_FLOWLABEL = 0x100

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_HOPLIMIT = 0x200

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_TCLASS = 0x400

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_REVERSIBLE = 0x800

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_NUMBPATH = 0x1000

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_PKEY = 0x2000

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_RESV1 = 0x4000

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_SL = 0x8000

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_MTUSELEC = 0x10000

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_MTU = 0x20000

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_RATESELEC = 0x40000

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_RATE = 0x80000

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_PKTLIFETIMESELEC = 0x100000

  - \[ Constant : int \] $IB\_PR\_COMPMASK\_PFTLIFETIME = 0x200000

  \----

*class sacPathRec*

Fields:

- \[ Member data: returns ib\_gid\_t \* \] -dgid

  - \[ Member data: returns ib\_gid\_t \* \] -sgid

  - \[ Member data: returns ib\_net16\_t \* \] -dlid

  - \[ Member data: returns ib\_net16\_t \* \] -slid

  - \[ Member data: returns ib\_net32\_t \* \] -hop\_flow\_raw

  - \[ Member data: returns uint8\_t \* \] -tclass

  - \[ Member data: returns uint8\_t \* \] -num\_path

  - \[ Member data: returns ib\_net16\_t \* \] -pkey

  - \[ Member data: returns ib\_net16\_t \* \] -sl

  - \[ Member data: returns uint8\_t \* \] -mtu

  - \[ Member data: returns uint8\_t \* \] -rate

  - \[ Member data: returns uint8\_t \* \] -pkt\_life

  - \[ Member data: returns uint8\_t \* \] -preference

  Methds:

- \[ Member : returns char \* \] get comp\_mask

  - \[ Member : returns char \* \] getTable comp\_mask

  - \[ Member : returns void \] delete

  ### LINEAR FORWARDING TABLE

Component mask bits:

- \[ Constant : char \* \] $IB\_LFT\_COMPMASK\_LID = 0x1

  - \[ Constant : char \* \] $IB\_LFT\_COMPMASK\_BLOCK = 0x2

  \----

*class sacLFTRec*

Fields:

- \[ Member data: returns ib\_net16\_t \* \] -lid

  - \[ Member data: returns ib\_net16\_t \* \] -block\_num

  - \[ Member data: returns ib\_lft\_t \* \] -lft

  Methods:

- \[ Member : returns char \* \] get comp\_mask

  - \[ Member : returns char \* \] getTable comp\_mask

  - \[ Member : returns void \] delete

  ### MULTICAST MEMBER RECORD

Component mask bits:

- \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_GID = 0x1

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_MGID = 0x1

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_PORT\_GID = 0x2

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_QKEY = 0x4

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_MLID = 0x8

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_MTU\_SEL = 0x10

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_MTU = 0x20

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_TCLASS = 0x40

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_PKEY = 0x80

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_RATE\_SEL = 0x100

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_RATE = 0x200

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_LIFE\_SEL = 0x400

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_LIFE = 0x800

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_SL = 0x1000

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_FLOW = 0x2000

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_HOP = 0x4000

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_SCOPE = 0x8000

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_JOIN\_STATE = 0x10000

  - \[ Constant : char \* \] $IB\_MCR\_COMPMASK\_PROXY = 0x20000

  \----

*class sacMCMRec*

Fields:

- \[ Member data: returns ib\_gid\_t \* \] -mgid

  - \[ Member data: returns ib\_gid\_t \* \] -port\_gid

  - \[ Member data: returns ib\_net32\_t \* \] -qkey

  - \[ Member data: returns ib\_net16\_t \* \] -mlid

  - \[ Member data: returns uint8\_t \* \] -mtu

  - \[ Member data: returns uint8\_t \* \] -tclass

  - \[ Member data: returns ib\_net16\_t \* \] -pkey

  - \[ Member data: returns uint8\_t \* \] -rate

  - \[ Member data: returns uint8\_t \* \] -pkt\_life

  - \[ Member data: returns ib\_net32\_t \* \] -sl\_flow\_hop

  - \[ Member data: returns uint8\_t \* \] -scope\_state

  Methods:

- \[ Member : returns char \* \] get comp\_mask

  - \[ Member : returns char \* \] getTable comp\_mask

  - \[ Member : returns char \* \] set comp\_mask

  - \[ Member : returns char \* \] del comp\_mask

  - \[ Member : returns int \] proxy\_join\_get

  Instead of simple field cget

- \[ Member : returns void \] proxy\_join\_set proxy\_join

  Instead of simple field configure

- \[ Member : returns void \] obj\_delete

  Delete the object

### SA CLASS PORT INFO

\----

*class sacClassPortInfo*

Fields:

- \[ Member data: returns uint8\_t \* \] -base\_ver

  - \[ Member data: returns uint8\_t \* \] -class\_ver

  - \[ Member data: returns ib\_net16\_t \* \] -cap\_mask

  - \[ Member data: returns ib\_net32\_t \* \] -resp\_time\_val

  - \[ Member data: returns ib\_gid\_t \* \] -redir\_gid

  - \[ Member data: returns ib\_net32\_t \* \] -redir\_tc\_sl\_fl

  - \[ Member data: returns ib\_net16\_t \* \] -redir\_lid

  - \[ Member data: returns ib\_net16\_t \* \] -redir\_pkey

  - \[ Member data: returns ib\_net32\_t \* \] -redir\_qp

  - \[ Member data: returns ib\_net32\_t \* \] -redir\_qkey

  - \[ Member data: returns ib\_gid\_t \* \] -trap\_gid

  - \[ Member data: returns ib\_net32\_t \* \] -trap\_tc\_sl\_fl

  - \[ Member data: returns ib\_net16\_t \* \] -trap\_lid

  - \[ Member data: returns ib\_net16\_t \* \] -trap\_pkey

  - \[ Member data: returns ib\_net32\_t \* \] -trap\_hop\_qp

  - \[ Member data: returns ib\_net32\_t \* \] -trap\_qkey

  Methods:

- \[ Member : returns char \* \] get

  - \[ Member : returns void \] delete

  ### INFORM INFO RECORD

The inform Info is built with hierarchy of objects. So several classes are defined.

\----

*class sacInformInfo*

Fields:

- \[ Member data: returns ib\_gid\_t \* \] -gid

  - \[ Member data: returns ib\_net16\_t \* \] -lid\_range\_begin

  - \[ Member data: returns ib\_net16\_t \* \] -lid\_range\_end

  - \[ Member data: returns ib\_net16\_t \* \] -reserved1

  - \[ Member data: returns uint8\_t \* \] -is\_generic

  - \[ Member data: returns uint8\_t \* \] -subscribe

  - \[ Member data: returns ib\_net16\_t \* \] -trap\_type

  - \[ Member data: returns sacInformInfo\_g\_or\_v \* \] -g\_or\_v

  Methods:

- \[ Member : returns char \* \] set

  - \[ Member : returns void \] delete

  \----

*class sacInformInfo\_g\_or\_v*

Fields:

- \[ Member data: returns sacInformInfo\_g\_or\_v\_generic \* \] -generic

  - \[ Member data: returns sacInformInfo\_g\_or\_v\_vend \* \] -vend

  \----

*class sacInformInfo\_g\_or\_v\_generic*

Fields:

- \[ Member data: returns ib\_net16\_t \* \] -trap\_num

  - \[ Member data: returns ib\_net32\_t \* \] -qpn\_resp\_time\_val

  - \[ Member data: returns uint8\_t \* \] -reserved2

  - \[ Member data: returns uint8\_t \* \] -node\_type\_msb

  - \[ Member data: returns ib\_net16\_t \* \] -node\_type\_lsb

  \----

*class sacInformInfo\_g\_or\_v\_vend*

Fields:

- \[ Member data: returns ib\_net16\_t \* \] -dev\_id

  - \[ Member data: returns ib\_net32\_t \* \] -qpn\_resp\_time\_val

  - \[ Member data: returns uint8\_t \* \] -reserved2

  - \[ Member data: returns uint8\_t \* \] -vendor\_id\_msb

  - \[ Member data: returns ib\_net16\_t \* \] -vendor\_id\_lsb

  ### SERVICE RECORD

Component mask bits:

- \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SID = 0x1

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SGID = 0x1

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SPKEY = 0x2

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_RES1 = 0x4

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SLEASE = 0x8

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SKEY = 0x10

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SNAME = 0x20

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_0 = 0x40

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_1 = 0x80

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_2 = 0x100

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_3 = 0x200

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_4 = 0x400

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_5 = 0x800

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_6 = 0x1000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_7 = 0x2000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_8 = 0x4000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_9 = 0x8000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_10 = 0x10000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_11 = 0x20000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_12 = 0x40000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_13 = 0x80000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_14 = 0x100000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA8\_15 = 0x200000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA16\_0 = 0x400000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA16\_1 = 0x800000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA16\_2 = 0x1000000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA16\_3 = 0x2000000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA16\_4 = 0x4000000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA16\_5 = 0x8000000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA16\_6 = 0x10000000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA16\_7 = 0x20000000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA32\_0 = 0x40000000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA32\_1 = 0x80000000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA32\_2 = 0x100000000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA32\_3 = 0x200000000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA64\_0 = 0x400000000

  - \[ Constant : char \* \] $IB\_SR\_COMPMASK\_SDATA64\_1 = 0x800000000

  \----

*class sacServiceRec*

Fields:

- \[ Member data: returns ib\_net64\_t \* \] -service\_id

  - \[ Member data: returns ib\_gid\_t \* \] -service\_gid

  - \[ Member data: returns ib\_net16\_t \* \] -service\_pkey

  - \[ Member data: returns ib\_net16\_t \* \] -resv

  - \[ Member data: returns ib\_net32\_t \* \] -service\_lease

  - \[ Member data: returns uint8\_array\_t \* \] -service\_key

  - \[ Member data: returns ib\_svc\_name\_t \* \] -service\_name

  - \[ Member data: returns uint8\_array\_t \* \] -service\_data8

  - \[ Member data: returns ib\_net16\_array\_t \* \] -service\_data16

  - \[ Member data: returns ib\_net32\_array\_t \* \] -service\_data32

  - \[ Member data: returns ib\_net64\_array\_t \* \] -service\_data64

  Methods:

- \[ Member : returns char \* \] get comp\_mask

  - \[ Member : returns char \* \] set comp\_mask

  - \[ Member : returns char \* \] getTable comp\_mask

  - \[ Member : returns char \* \] delete comp\_mask

  - \[ Member : returns void \] obj\_delete

  ### SL to VL TABLE RECORD

Component mask bits:

- \[ Constant : char \* \] $IB\_SLVL\_COMPMASK\_LID = 0x1

  - \[ Constant : char \* \] $IB\_SLVL\_COMPMASK\_IN\_PORT = 0x2

  - \[ Constant : char \* \] $IB\_SLVL\_COMPMASK\_OUT\_PORT = 0x4

  \----

*class sacSlVlTbl*

- \[ Member data: returns uint8\_array\_t \* \] -raw\_vl\_by\_sl

  \----

*class sacSlVlRec*

RID Fields:

- \[ Member data: returns ib\_net16\_t \* \] -lid

  for CA: lid of port, for switch lid of port 0

- \[ Member data: returns uint8\_t \* \] -in\_port\_num

  reserved for CA's

- \[ Member data: returns uint8\_t \* \] -out\_port\_num

  reserved for CA's

- \[ Member data: returns uint32\_t \* \] -resv

  - \[ Member data: returns sacSlVlTbl \* \] -slvl\_tbl

  Methods:

- \[ Member : returns char \* \] get comp\_mask

  - \[ Member : returns char \* \] getTable comp\_mask

  - \[ Member : returns void \] delete

  ### VL ARBITRATION TABLE RECORD

Component mask bits:

- \[ Constant : char \* \] $IB\_VLA\_COMPMASK\_LID = 0x1

  - \[ Constant : char \* \] $IB\_VLA\_COMPMASK\_OUT\_PORT = 0x2

  - \[ Constant : char \* \] $IB\_VLA\_COMPMASK\_BLOCK = 0x4

  \----

*class sacVlArbRec*

Fields:

- \[ Member data: returns ib\_net16\_t \* \] -lid

  for CA: lid of port, for switch lid of port 0

- \[ Member data: returns uint8\_t \* \] -port\_num

  - \[ Member data: returns uint8\_t \* \] -block\_num

  - \[ Member data: returns uint32\_t \* \] -reserved

  - \[ Member data: returns sac\_vl\_arb\_tbl\_t \* \] -vl\_arb\_tbl

  Methods:

- \[ Member : returns char \* \] get comp\_mask

  - \[ Member : returns char \* \] getTable comp\_mask

  - \[ Member : returns void \] delete

  ### PKEY TABLE RECORD

Component mask bits:

- \[ Constant : char \* \] $IB\_PKEY\_COMPMASK\_LID = 0x1

  - \[ Constant : char \* \] $IB\_PKEY\_COMPMASK\_BLOCK = 0x2

  - \[ Constant : char \* \] $IB\_PKEY\_COMPMASK\_PORT = 0x4

  \----

*class sacPKeyTbl*

Fields:

- \[ Member data: returns ib\_net16\_array\_t \* \] -pkey\_entry

  \----

*class sacPKeyRec*

RID Fields:

- \[ Member data: returns ib\_net16\_t \* \] -lid

  for CA: lid of port, for switch lid of port 0

- \[ Member data: returns uint16\_t \* \] -block\_num

  - \[ Member data: returns uint8\_t \* \] -port\_num

  for switch: port number, for CA: reserved

- \[ Member data: returns uint8\_t \* \] -reserved1

  - \[ Member data: returns uint16\_t \* \] -reserved2

  - \[ Member data: returns sacPKeyTbl \* \] -pkey\_tbl

  Methods:

- \[ Member : returns char \* \] get comp\_mask

  - \[ Member : returns char \* \] getTable comp\_mask

  - \[ Member : returns void \] delete

  ## 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:

- 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.

- 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

### class smNodeInfo

Fields:

- \[ Member data: returns uint8\_t \* \] -base\_version

  - \[ Member data: returns uint8\_t \* \] -class\_version

  - \[ Member data: returns uint8\_t \* \] -node\_type

  - \[ Member data: returns uint8\_t \* \] -num\_ports

  - \[ Member data: returns ib\_net64\_t \* \] -sys\_guid

  - \[ Member data: returns ib\_net64\_t \* \] -node\_guid

  - \[ Member data: returns ib\_net64\_t \* \] -port\_guid

  - \[ Member data: returns ib\_net16\_t \* \] -partition\_cap

  - \[ Member data: returns ib\_net16\_t \* \] -device\_id

  - \[ Member data: returns ib\_net32\_t \* \] -revision

  - \[ Member data: returns ib\_net32\_t \* \] -port\_num\_vendor\_id

  Methods:

- \[ Member : returns int \] getByDr dr

  - \[ Member : returns int \] setByDr dr

  - \[ Member : returns int \] getByLid lid

  - \[ Member : returns int \] setByLid lid

  ## class smPortInfo

Fields:

- \[ Member data: returns ib\_net64\_t \* \] -m\_key

  - \[ Member data: returns ib\_net64\_t \* \] -subnet\_prefix

  - \[ Member data: returns ib\_net16\_t \* \] -base\_lid

  - \[ Member data: returns ib\_net16\_t \* \] -master\_sm\_base\_lid

  - \[ Member data: returns ib\_net32\_t \* \] -capability\_mask

  - \[ Member data: returns ib\_net16\_t \* \] -diag\_code

  - \[ Member data: returns ib\_net16\_t \* \] -m\_key\_lease\_period

  - \[ Member data: returns uint8\_t \* \] -local\_port\_num

  - \[ Member data: returns uint8\_t \* \] -link\_width\_enabled

  - \[ Member data: returns uint8\_t \* \] -link\_width\_supported

  - \[ Member data: returns uint8\_t \* \] -link\_width\_active

  - \[ Member data: returns uint8\_t \* \] -state\_info1

  LinkSpeedSupported and PortState

- \[ Member data: returns uint8\_t \* \] -state\_info2

  PortPhysState and LinkDownDefaultState

- \[ Member data: returns uint8\_t \* \] -mkey\_lmc

  - \[ Member data: returns uint8\_t \* \] -link\_speed

  LinkSpeedEnabled and LinkSpeedActive

- \[ Member data: returns uint8\_t \* \] -mtu\_smsl

  - \[ Member data: returns uint8\_t \* \] -vl\_cap

  VlCap and InitType

- \[ Member data: returns uint8\_t \* \] -vl\_high\_limit

  - \[ Member data: returns uint8\_t \* \] -vl\_arb\_high\_cap

  - \[ Member data: returns uint8\_t \* \] -vl\_arb\_low\_cap

  - \[ Member data: returns uint8\_t \* \] -mtu\_cap

  - \[ Member data: returns uint8\_t \* \] -vl\_stall\_life

  - \[ Member data: returns uint8\_t \* \] -vl\_enforce

  - \[ Member data: returns ib\_net16\_t \* \] -m\_key\_violations

  - \[ Member data: returns ib\_net16\_t \* \] -p\_key\_violations

  - \[ Member data: returns ib\_net16\_t \* \] -q\_key\_violations

  - \[ Member data: returns uint8\_t \* \] -guid\_cap

  - \[ Member data: returns uint8\_t \* \] -subnet\_timeout

  - \[ Member data: returns uint8\_t \* \] -resp\_time\_value

  - \[ Member data: returns uint8\_t \* \] -error\_threshold

  Methods:

- \[ Member : returns int \] getByDr dr portNum

  - \[ Member : returns int \] setByDr dr portNum

  - \[ Member : returns int \] getByLid lid portNum

  - \[ Member : returns int \] setByLid lid portNum

  ### class smSwInfo

- \[ Member data: returns ib\_net16\_t \* \] -lin\_cap

  - \[ Member data: returns ib\_net16\_t \* \] -rand\_cap

  - \[ Member data: returns ib\_net16\_t \* \] -mcast\_cap

  - \[ Member data: returns ib\_net16\_t \* \] -lin\_top

  - \[ Member data: returns uint8\_t \* \] -def\_port

  - \[ Member data: returns uint8\_t \* \] -def\_mcast\_pri\_port

  - \[ Member data: returns uint8\_t \* \] -def\_mcast\_not\_port

  - \[ Member data: returns uint8\_t \* \] -life\_state

  - \[ Member data: returns ib\_net16\_t \* \] -lids\_per\_port

  - \[ Member data: returns ib\_net16\_t \* \] -enforce\_cap

  - \[ Member data: returns uint8\_t \* \] -flags

  - \[ Member : returns int \] getByDr dr

  - \[ Member : returns int \] setByDr dr

  - \[ Member : returns int \] getByLid lid

  - \[ Member : returns int \] setByLid lid

  ### class smLftBlock

- \[ Member data: returns uint8\_array\_t \* \] -lft

  - \[ Member : returns int \] getByDr dr blockNum

  - \[ Member : returns int \] setByDr dr blockNum

  - \[ Member : returns int \] getByLid lid blockNum

  - \[ Member : returns int \] setByLid lid blockNum

  ### class smMftBlock

- \[ Member data: returns ib\_net16\_array\_t \* \] -mft

  - \[ Member : returns int \] getByDr dr startLid startPort

  - \[ Member : returns int \] setByDr dr startLid startPort

  - \[ Member : returns int \] getByLid lid startLid startPort

  - \[ Member : returns int \] setByLid lid startLid startPort

  ### class smGuidInfo

- \[ Member data: returns ib\_net64\_array\_t \* \] -guid

  - \[ Member : returns int \] getByDr dr blockNum

  - \[ Member : returns int \] setByDr dr blockNum

  - \[ Member : returns int \] getByLid lid blockNum

  - \[ Member : returns int \] setByLid lid blockNum

  ### class smPkeyTable

- \[ Member data: returns ib\_net16\_array\_t \* \] -pkey\_entry

  - \[ Member : returns int \] getByDr dr portNum blockNum

  - \[ Member : returns int \] setByDr dr portNum blockNum

  - \[ Member : returns int \] getByLid lid portNum blockNum

  - \[ Member : returns int \] setByLid lid portNum blockNum

  ### class smSlVlTable

- \[ Member data: returns uint8\_array\_t \* \] -raw\_vl\_by\_sl

  - \[ Member : returns int \] getByDr dr inPortNum outPortNum

  - \[ Member : returns int \] setByDr dr inPortNum outPortNum

  - \[ Member : returns int \] getByLid lid inPortNum outPortNum

  - \[ Member : returns int \] setByLid lid inPortNum outPortNum

  ### class smVlArbTable

- \[ Member data: returns ib\_vl\_arb\_element\_t \* \] -vl\_entry

  - \[ Member : returns int \] getByDr dr portNum block

  - \[ Member : returns int \] setByDr dr portNum block

  - \[ Member : returns int \] getByLid lid portNum block

  - \[ Member : returns int \] setByLid lid portNum block

  ### class smNodeDesc

- \[ Member data: returns ibsm\_node\_desc\_str\_t \* \] -description

  - \[ Member : returns int \] getByDr dr

  - \[ Member : returns int \] setByDr dr

  - \[ Member : returns int \] getByLid lid

  - \[ Member : returns int \] setByLid lid

  ### class smSMInfo

- \[ Member data: returns ib\_net64\_t \* \] -guid

  - \[ Member data: returns ib\_net64\_t \* \] -sm\_key

  - \[ Member data: returns ib\_net32\_t \* \] -act\_count

  - \[ Member data: returns uint8\_t \* \] -pri\_state

  - \[ Member : returns int \] getByDr dr

  - \[ Member : returns int \] setByDr dr

  - \[ Member : returns int \] getByLid lid

  - \[ Member : returns int \] setByLid lid

  ### class smNotice

The NOTICE attribute is built out of several sub objects

- \[ Member data: returns uint8\_t \* \] -generic\_type

  - \[ Member data: returns ib\_net16\_t \* \] -issuer\_lid

  - \[ Member data: returns ib\_net16\_t \* \] -toggle\_count

  - \[ Member data: returns ib\_gid\_t \* \] -issuer\_gid

  - \[ Member data: returns smNotice\_g\_or\_v \* \] -g\_or\_v

  - \[ Member data: returns smNotice\_data\_details \* \] -data\_details

  - \[ Member : returns int \] trapByDr dr

  - \[ Member : returns int \] trapByLid lid

  \----

*class smNotice\_g\_or\_v*

- \[ Member data: returns smNotice\_g\_or\_v\_generic \* \] -generic

  - \[ Member data: returns smNotice\_g\_or\_v\_vend \* \] -vend

  \----

*class smNotice\_data\_details*

- \[ Member data: returns smNotice\_data\_details\_raw\_data \* \] -raw\_data

  - \[ Member data: returns smNotice\_data\_details\_ntc\_64\_67 \* \] -ntc\_64\_67

  - \[ Member data: returns smNotice\_data\_details\_ntc\_128 \* \] -ntc\_128

  - \[ Member data: returns smNotice\_data\_details\_ntc\_129\_131 \* \] -ntc\_129\_131

  - \[ Member data: returns smNotice\_data\_details\_ntc\_144 \* \] -ntc\_144

  - \[ Member data: returns smNotice\_data\_details\_ntc\_145 \* \] -ntc\_145

  - \[ Member data: returns smNotice\_data\_details\_ntc\_256 \* \] -ntc\_256

  - \[ Member data: returns smNotice\_data\_details\_ntc\_257\_258 \* \] -ntc\_257\_258

  - \[ Member data: returns smNotice\_data\_details\_ntc\_259 \* \] -ntc\_259

  \----

*class smNotice\_g\_or\_v\_generic*

- \[ Member data: returns uint8\_t \* \] -prod\_type\_msb

  - \[ Member data: returns ib\_net16\_t \* \] -prod\_type\_lsb

  - \[ Member data: returns ib\_net16\_t \* \] -trap\_num

  \----

*class smNotice\_g\_or\_v\_vend*

- \[ Member data: returns uint8\_t \* \] -vend\_id\_msb

  - \[ Member data: returns ib\_net16\_t \* \] -vend\_id\_lsb

  - \[ Member data: returns ib\_net16\_t \* \] -dev\_id

  \----

*class smNotice\_data\_details\_raw\_data*

- \[ Member data: returns uint8\_array\_t \* \] -details

  \----

*class smNotice\_data\_details\_ntc\_64\_67*

- \[ Member data: returns uint8\_array\_t \* \] -res

  - \[ Member data: returns ib\_gid\_t \* \] -gid

  the Node or Multicast Group that came in/out

\----

*class smNotice\_data\_details\_ntc\_128*

- \[ Member data: returns ib\_net16\_t \* \] -sw\_lid

  the sw lid of which link state changed

\----

*class smNotice\_data\_details\_ntc\_129\_131*

- \[ Member data: returns ib\_net16\_t \* \] -pad

  - \[ Member data: returns ib\_net16\_t \* \] -lid

  lid and port number of the violation

- \[ Member data: returns uint8\_t \* \] -port\_num

  \----

*class smNotice\_data\_details\_ntc\_144*

- \[ Member data: returns ib\_net16\_t \* \] -pad1

  - \[ Member data: returns ib\_net16\_t \* \] -lid

  lid where capability mask changed

- \[ Member data: returns ib\_net16\_t \* \] -pad2

  - \[ Member data: returns ib\_net32\_t \* \] -new\_cap\_mask

  new capability mask

\----

*class smNotice\_data\_details\_ntc\_145*

- \[ Member data: returns ib\_net16\_t \* \] -pad1

  - \[ Member data: returns ib\_net16\_t \* \] -lid

  lid where sys guid changed

- \[ Member data: returns ib\_net16\_t \* \] -pad2

  - \[ Member data: returns ib\_net64\_t \* \] -new\_sys\_guid

  new system image guid

\----

*class smNotice\_data\_details\_ntc\_256*

- \[ Member data: returns ib\_net16\_t \* \] -pad1

  - \[ Member data: returns ib\_net16\_t \* \] -lid

  - \[ Member data: returns ib\_net16\_t \* \] -pad2

  - \[ Member data: returns uint8\_t \* \] -method

  - \[ Member data: returns uint8\_t \* \] -pad3

  - \[ Member data: returns ib\_net16\_t \* \] -attr\_id

  - \[ Member data: returns ib\_net32\_t \* \] -attr\_mod

  - \[ Member data: returns ib\_net64\_t \* \] -mkey

  - \[ Member data: returns uint8\_t \* \] -dr\_slid

  - \[ Member data: returns uint8\_t \* \] -dr\_trunc\_hop

  - \[ Member data: returns uint8\_array\_t \* \] -dr\_rtn\_path

  \----

*class smNotice\_data\_details\_ntc\_257\_258*

- \[ Member data: returns ib\_net16\_t \* \] -pad1

  - \[ Member data: returns ib\_net16\_t \* \] -lid1

  - \[ Member data: returns ib\_net16\_t \* \] -lid2

  - \[ Member data: returns ib\_net32\_t \* \] -key

  - \[ Member data: returns uint8\_t \* \] -sl

  - \[ Member data: returns ib\_net32\_t \* \] -qp1

  - \[ Member data: returns ib\_net32\_t \* \] -qp2

  - \[ Member data: returns ib\_gid\_t \* \] -gid1

  - \[ Member data: returns ib\_gid\_t \* \] -gid2

  \----

*class smNotice\_data\_details\_ntc\_259*

- \[ Member data: returns ib\_net16\_t \* \] -data\_valid

  - \[ Member data: returns ib\_net16\_t \* \] -lid1

  - \[ Member data: returns ib\_net16\_t \* \] -lid2

  - \[ Member data: returns ib\_net32\_t \* \] -key

  - \[ Member data: returns uint8\_t \* \] -sl

  - \[ Member data: returns ib\_net32\_t \* \] -qp1

  - \[ Member data: returns uint8\_t \* \] -qp2\_msb

  - \[ Member data: returns ib\_net16\_t \* \] -qp2\_lsb

  - \[ Member data: returns ib\_gid\_t \* \] -gid1

  - \[ Member data: returns ib\_gid\_t \* \] -gid2

  - \[ Member data: returns ib\_net16\_t \* \] -sw\_lid

  - \[ Member data: returns uint8\_t \* \] -port\_no

  ## 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.

- \[ returns int \] crMultiMaxGet

  - \[ returns int \] crRead lid address

  - \[ returns int \] crWrite lid data address

  - \[ returns int \] crReadMulti num lid\_list address

  - \[ returns int \] crWriteMulti num lid\_list data address

  ## 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.

- \[ returns int \] vsMultiMaxGet

  - \[ returns int \] vsCpuRead lid size cpu\_traget\_size address

  - \[ returns int \] vsCpuWrite lid size cpu\_traget\_size data address

  - \[ returns int \] vsI2cRead lid port\_num device\_id size address

  - \[ returns int \] vsI2cWrite lid port\_num device\_id size address data

  - \[ returns int \] vsI2cReadMulti num lid\_list port\_num device\_id size address

  - \[ returns int \] vsI2cWriteMulti num lid\_list port\_num device\_id size address data

  - \[ returns int \] vsGpioRead lid

  - \[ returns int \] vsGpioWrite lid gpio\_mask gpio\_data

  - \[ returns int \] vsSWReset num lid\_list

  - \[ returns int \] vsFlashStartMulti num lid\_list last size address data

  - \[ returns int \] vsFlashStopMulti num lid\_list force

  - \[ returns int \] vsFlashSetBankMulti num lid\_list address

  - \[ returns int \] vsFlashEraseSectorMulti num lid\_list address

  - \[ returns int \] vsFlashReadSectorMulti num lid\_list size address

  - \[ returns int \] vsFlashWriteSectorMulti num lid\_list size address data

  - \[ returns int \] vsMirrorRead lid

  - \[ returns int \] vsMirrorWrite lid rx\_mirror tx\_mirror

  ## IBBBM Functions

This section provide the details about the functions IBBBM exposes. They all return 0 on succes.

- \[ returns int \] bbmVpdRead lid vpd\_device\_selector bytes\_num offset

  - \[ returns int \] bbmVpdWrite lid vpd\_device\_selector bytes\_num offset p\_data

  - \[ returns int \] bbmVSDRead lid

  - \[ returns int \] bbmBSNRead lid

  - \[ returns int \] bbmModRead lid

  - \[ returns int \] bbmChaRead lid

  - \[ returns int \] bbmFWVerRead lid

  ## AUTHOR

Eitan Zahavi, Mellanox Technologies LTD, eitan@mellanox.co.il
